/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.ejemplo.view;

import cl.ejemplo.beans.Funcionario;
import cl.ejemplo.beans.LavanderiaE;
import cl.ejemplo.beans.Ropa;
import cl.ejemplo.beans.UnidadC;
import cl.ejemplo.helpers.Validador;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Camila
 */
public class Administrador_view extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        String opcion = request.getParameter("cmd");
        
        try (PrintWriter out = response.getWriter()) {
            switch (opcion) {
                case "funcionarios":

                    break;
                case "ropa":

                    break;
                case "lavanderia":

                    break;

            }
        }

    }

    public String VerFuncionarios() {

        cl.ejemplo.controller.Administrador_Controller admin;
        admin = new cl.ejemplo.controller.Administrador_Controller();

        ArrayList<Funcionario> funcionarios = new ArrayList<>();
        funcionarios = admin.verFuncionarios();

//        uc.verUnidadesC();
        StringBuilder sb = new StringBuilder();

        sb.append("<select id='cmb_funcionario' onchange=''>");
        for (Funcionario fila : funcionarios) {
            // se debe dibujar la tabla             
            sb.append("<option value='");
            sb.append(fila.getNombre());
            sb.append("'>");
            sb.append(fila.getNombre());
            sb.append("</value>");
        }

        sb.append("<option value='");
//            sb.append(rs.getString(2));
        sb.append("'>");
        //sb.append(fila.getNombre());
        sb.append("</value>");
        sb.append("</select>");
        return sb.toString();
    }

    public String agregarFuncionario() {
           cl.ejemplo.controller.Administrador_Controller admin;
        admin = new cl.ejemplo.controller.Administrador_Controller();
        StringBuilder sb = new StringBuilder();
        StringBuilder turnoi = new StringBuilder();
        StringBuilder turnof = new StringBuilder();
        ArrayList<Funcionario> funcionarios = new ArrayList<>();
        Funcionario fnc = new Funcionario();
                cl.ejemplo.controller.UnidadC_Controller ucli;
        ucli = new cl.ejemplo.controller.UnidadC_Controller();

        ArrayList<UnidadC> unidades = new ArrayList<>();

        unidades = ucli.obtenerDatos();
         String nombre = null;
         String rut = null;
         String apellidop = null;
         String apellidom = null;
         String email = null;
         String comuna = null;
         String contrato = null;
         String calle = null;
         String numero = null;
         String fechanac = null;
         String rol = null;
         int telefono = 0;
         int numunidadc = 0;
         String sexualidad = null;
         String turnoinicio = null;
         String turnofin = null;
         String horainicio = null;
         String horafin = null;
         String diainicio=null;
         String diafin=null;
         
        
        sb.append("<div id='div_ing_fnc'>");
        sb.append("<table id='cmb_tablafnc'>");
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Rut");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingresar rut' name='");
        sb.append(rut);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Nombre");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingresar nombre' name='");
        sb.append(nombre);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Apellido paterno");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingrese apellido paterno' name='");
        sb.append(apellidop);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");

        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Apellido materno");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingrese apellido materno' name='");
        sb.append(apellidom);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Email");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='123@gmail.com' name='");
        sb.append(email);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 

        
        sb.append("<h1>Dirección: </h1>");
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Comuna");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingrese la comuna' name='");
        sb.append(comuna);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Calle");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingrese la calle' name='");
        sb.append(calle);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Calle");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingrese la calle' name='");
        sb.append(numero);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Fecha de nacimiento");
        sb.append("</td>");
        sb.append("<td><input type='date' placeholder='Ingrese la fecha de nacimiento' name='");
        sb.append(fechanac);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Ingrese teléfono");
        sb.append("</td>");
        sb.append("<td><input type='date' placeholder='0228599696' name='");
        sb.append(telefono);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Sexualidad");
        sb.append("</td>");
        sb.append("<td>Femenino<input type='radio' value='F' name='");
        sb.append(sexualidad);
        sb.append("'>");
        sb.append(" Masculino<input type='radio'  value='M' name='");
        sb.append(sexualidad);
        sb.append("'>");        
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");
        

        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Seleccione el cargo");
        sb.append("</td>");
        sb.append("<td><select name='");
        sb.append(rol);
        sb.append("'>");
        sb.append("<option>Administrador</option>");
        sb.append("<option>Encargado</option>");
        sb.append("<option>Auxiliar</option>");
        sb.append("'/>");
        sb.append("</select></td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Seleccione el contrato");
        sb.append("</td>");
        sb.append("<td><select name='");
        sb.append(rol);
        sb.append("'>");
        sb.append("<option>Interno</option>");
        sb.append("<option>Externo</option>");
        sb.append("'/>");
        sb.append("</select></td>");
        sb.append("</tr>");
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Seleccione la unidad clínica");
        sb.append("</td>");
        sb.append("<td><select name='");
        sb.append("");
        sb.append("'>");
        sb.append("'>");
            sb.append(ucli.obtenerDatos());
            for (UnidadC fila : unidades) {
            sb.append("<option value='");
            sb.append(fila.getNombre());
            sb.append("' name='");
            sb.append(fila.getId());
            numunidadc = fila.getId();
            sb.append("' />");
            sb.append(fila.getNombre());
            sb.append("</value>");
            
        
        }
                    sb.append("</select></td>");
        sb.append("</tr>"); 
            
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("<h1>Ingrese el turno de inicio</h1>");
        sb.append("</td>");
        sb.append("<td><input type='date' placeholder='Ingrese el turno de inicio' name='");
        sb.append(diainicio);
        sb.append("'/>");
        sb.append("<input type='time' max='20:30:00' min='08:30:00' name'");
        sb.append(horainicio);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");     
 
                sb.append("<tr>");
        sb.append("<td>");
        sb.append("<h1>Ingrese el turno de fin</h1>");
        sb.append("</td>");
        sb.append("<td><input type='date' placeholder='Ingrese el turno de fin' name='");
        sb.append(diafin);
        sb.append("'/>");
        sb.append("<input type='time' max='20:30:00' min='08:30:00' name'");
        sb.append(horafin);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");  
        
 

        
        sb.append("</table>");
        sb.append("</div>");
        turnoi.append(diainicio);
        turnoi.append("");
        turnoi.append(horainicio);
        turnoinicio = turnoi.toString();
        
        turnof.append(diafin);
        turnof.append("");
        turnof.append(horafin);
        turnofin = turnof.toString();
       fnc.setRut(rut);
       fnc.setNombre(nombre);
       fnc.setApellidp(apellidop);
       fnc.setApellidp(apellidop);
       fnc.setEmail(email);
       //falta preguntar direccion
       fnc.setSexualidad(sexualidad);
       fnc.setFechanac(fechanac);
       fnc.setTelefono(telefono);
       fnc.setRol(rol);
       fnc.setTurnoinicio(turnoinicio);
       fnc.setTurnofin(turnofin);
       fnc.setContrato(contrato);
       //fnc.setUnidadc(diafin);
       
    funcionarios = admin.ingresarFuncionario(fnc);
    return sb.toString();
   
    }

    public void eliminarFuncionario() {

    }

    public void escogerFuncionario() {
    }

    public void escogerLavanderiaE() {
    }

    public void escogerRopa() {
    }

    public void ingresarLavanderiaE() {
    }

    public String ingresarRopaNueva() {
            cl.ejemplo.controller.Administrador_Controller admin;
        admin = new cl.ejemplo.controller.Administrador_Controller();
        StringBuilder sb = new StringBuilder();
        ArrayList<Ropa> rop = new ArrayList<>();
       Ropa ropas = new Ropa();
       Validador v= new Validador();
                cl.ejemplo.controller.UnidadC_Controller ucli;
        ucli = new cl.ejemplo.controller.UnidadC_Controller();


        
         String nombre = null;
         String color = null;
         int cant_ropa = 0;
         String estado_ropa = null;
         String talla = null;
         String fecha_ing = v.asignarFecha();
         String fecha_baja = "0000-00-00 00:00:00";
         String disponibilidad = "1";

         
        
        sb.append("<div id='div_ing_fnc'>");
        sb.append("<table id='cmb_tablafnc'>");
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Nombre: ");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingresar nombre' name='");
        sb.append(nombre);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Color");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingresar el color' name='");
        sb.append(color);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Cantidad");
        sb.append("</td>");
        sb.append("<td><input type='number'  name='");
        sb.append(cant_ropa);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>");

        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Talla");
        sb.append("</td>");
        sb.append("<td><input type='text' placeholder='Ingrese la talla' name='");
        sb.append(talla);
        sb.append("'/>");
        sb.append("</td>");
        sb.append("</tr>"); 
        
        sb.append("<tr>");
        sb.append("<td>");
        sb.append("Seleccione el estado");
        sb.append("</td>");
        sb.append("<td><select name='");
        sb.append(estado_ropa);
        sb.append("'>");
        sb.append("<option>Limpio</option>");
        sb.append("<option>Sucio</option>");
        sb.append("'/>");
        sb.append("</select></td>");
        sb.append("</tr>"); 
        ropas.setNombre(nombre);
        ropas.setColor(color);
        ropas.setCant_ropa(cant_ropa);
        ropas.setEstado_ropa(estado_ropa);
        ropas.setTalla(talla);
        ropas.setDisponibilidad(disponibilidad);
        ropas.setFecha_ing(fecha_ing);
        ropas.setFecha_baja(fecha_baja);
        
        rop = admin.ingresarRopaNueva(ropas);
        return sb.toString();
    }

    public void modificarFuncionario() {
    }

    public void modificarLavanderiaE() {
    }

    public void modificarRopa() {
    }

    public void verFuncionario() {
    }

    public void verLavanderia() {
    }

    public String verLavanderiasE() {
        cl.ejemplo.controller.Administrador_Controller admin;
        admin = new cl.ejemplo.controller.Administrador_Controller();

        ArrayList<LavanderiaE> lavanderias = new ArrayList<>();
        lavanderias = admin.verLavanderiasE();

        StringBuilder sb = new StringBuilder();

        sb.append("<table id='cmb_tablalav' onchange=''>");
        sb.append("<tr>");
        sb.append("<td>Número</td>");
        sb.append("<td>Nombre</td>");
        sb.append("</tr>");
        for (LavanderiaE fila : lavanderias) {

            sb.append("<tr>");
            sb.append("<td>");
            sb.append(fila.getNumLavanderia());
            sb.append("</td>");
            sb.append("<td>");
            sb.append(fila.getNombre());
            sb.append("</td>");
            sb.append("</tr>");

        }

        sb.append("</table>");
        return sb.toString();
    }

    public String verRopa() {
        cl.ejemplo.controller.Administrador_Controller admin;
        admin = new cl.ejemplo.controller.Administrador_Controller();

        ArrayList<Ropa> rop = new ArrayList<>();
     //   rop= admin.verFuncionarios();

        StringBuilder sb = new StringBuilder();

        sb.append("<table id='cmb_tablarop' onchange=''>");
        sb.append("<tr>");
        sb.append("<td>Número</td>");
        sb.append("<td>Nombre</td>");
        sb.append("</tr>");
        for (Ropa fila : rop) {

            sb.append("<tr>");
            sb.append("<td>");
            sb.append(fila.getNumRopa());
            sb.append("</td>");
            sb.append("<td>");
            sb.append(fila.getNombre());
            sb.append("</td>");
            sb.append("</tr>");

        }

        sb.append("</table>");
        return sb.toString();
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
